/*
 * QueueProtocoloPlano.h
 *
 *  Created on: Dec 3, 2013
 *      Author: gonprieto
 */

#ifndef QUEUEPROTOCOLOPLANO_H_
#define QUEUEPROTOCOLOPLANO_H_

#include "../communication/protocol/ProtocoloPlano.h"
#include "../communication/Mensajes/Mensaje.h"
#include "Message_Queue.h"
#include "MsgQueue.h"
#include "Dequeuer.h"
#include "Enqueuer.h"
#include "../communication/RecursoProtocoloPlano.h"

class QueueProtocoloPlano : public RecursoProtocoloPlano{
public:
	QueueProtocoloPlano(const std::string& file, const char key);
	virtual ~QueueProtocoloPlano();

	virtual Mensaje* leerMensaje(unsigned int id);

	virtual int escribirMensaje(unsigned int idToWrite,Mensaje* mensaje);

	virtual void cerrar();

private:
	Enqueuer e;
	Dequeuer d;

};

#endif /* QUEUEPROTOCOLOPLANO_H_ */
